package cn.com.bluemoon.daps.model.service;

import cn.com.bluemoon.daps.common.domain.ResultBean;
import cn.com.bluemoon.daps.common.mp.IBmService;
import cn.com.bluemoon.daps.model.entity.DapDataModelShareTable;
import cn.com.bluemoon.daps.model.entity.DapDataModelTable;
import cn.com.bluemoon.daps.model.vo.share.SearchShareTableVo;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 系统下数仓多模型相互共享表 服务类
 * </p>
 *
 * @author admin
 * @since 2021-09-23
 */
public interface DapDataModelShareTableService extends IBmService<DapDataModelShareTable> {

    /**
     * 判断模型是否为 共享模型
     */
    boolean isShareModel(String modelId);

    /** 返回那些模型id是共享的 */
    Set<String> matchShareModels(Set<String> modelIds);

    IPage<DapDataModelTable> getShareModelTableList(SearchShareTableVo vo);

    ResultBean<String> shareTable(List<String> tableIds);

    ResultBean<String> shareTableCancel(List<String> tableIds);
}
